package com.spring.extjs.dao;

import java.util.List;

@SuppressWarnings("rawtypes") 
public interface ISystemBaseDAO {

	public void save(Object record);

	public void attachDirty(Object record, Object old);

	public void delete(Object record);

	public Object findById(Class<?> className, Object id);

	public Object findById(String beanClassName, Object id);

	public List findByProperty(Class<?> className, String propertyName, Object value);

	public Object findByPropertyFirst(Class<?> className, String propertyName, Object value);

	public List findByString(Class<?> className, String value);

	public List findByProperty(String beanClassName, String propertyName, Object value);

	public List findByPropertyWithOtherCondition(Class<?> className, String propertyName, Object value, String otherCondString);

	public List findByLikeProperty(String beanClassName, String propertyName, Object value);

	public List findByLikePropertyWithOtherCondition(String beanClassName, String propertyName, Object value, String otherCondString);

	public List findByPropertyWithOtherCondition(String beanClassName, String propertyName, Object value, String otherCondString);

	public List findByPropertyAllSort(String beanClassName, String sort, String dir, String propertyName, Object value, String defaultSort, String defaultDir);

	public List findAll(Class<?> className);

	public List findAll(String className);

	public List findAllSort(String beanClassName, String sort, String dir);

	List findByPropertyAllSort(Class<?> className, String sort, String dir, String propertyName, Object value, String defaultSort, String defaultDir);
}
